It is convenient to divide the tasks of a communication network into several parts. Certain rules must be followed to achieve those tasks. A format and a set of rules are called a protocol. There exist several different protocols in communication networks. Correspondingly, the tasks of a network element are divided into several parts.
FIG. 1 shows how TCP/IP protocols work together using a layering model. First, the tasks are divided into four layers, called Application, Transport, IP network and Network Interface layers. The Application layer contains application programs that users invoke. The programs access services available across the Internet, and interact with one of the protocols in the Transport layer to send or receive data. Usually, the application programs use certain protocols, such as SMTP (Simple Mail Transfer Protocol), FTP (File Transfer Protocol), SNMP (Simple Network Monitoring Protocol) and RTP (Real Time Transport Protocol) to interact with the protocols in the Transport layers.
The Transport layer provides communication between a pair of application programs, the one in a local network element and the other in a remote network element. Such communication is often called end-to-end. Transport protocol software may provide reliable transport, ensuring that data arrives without errors and in sequence. The transport protocol software divides the data stream being transmitted into packets and passes each packet along with a destination address to the IP network layer. The most common transport protocols are UDP (User Datagram Protocol) and TCP (Transmission Control Protocol).
The IP network layer handles communication from one network element to another element. It accepts a request to send a packet from the Transport layer with an indentification of the network element to which the packet should be sent. The IP network layer encapsulates the packet in an IP datagram, decides where the datagram should be sent and passes the datagram to the appropriate network interface for transmission. The IP network layer also handles incoming datagrams, checking their validity and deciding whether the datagram should be processed locally or forwarded to another network element. The protocol used in this layer is IP (Internet Protocol).
The network interface layer comprises interface software which handles accepting IP datagrams and transmitting them over a specific network. A communication network uses network specific frames to carry IP datagrams, so the network interface layer handles the packing and depacking of IP datagrams into and out from network frames.
FIG. 2 illustrates an example of a network element (21), called a gateway. A gateway transfers communication channels among different types of communication networks, in FIG. 2 IP traffic from the Internet to PSTN traffic in TDM (time-division multiplexing) networks and vice versa. The CPU (central processor unit) (22) contains a MAC (Media Access Control) interface for a physical Internet interface (23) (MAC refers to the low-level hardware protocols used to access a certain network). The CPU also contains an Internet protocol stack (24) (Refer to FIG. 1). This is a typical situation in VoIP (Voice over IP) implementations.
The gateway also contain several DSP's (digital signal processors) (25) which convert the IP traffic format to a traffic format used in a TDM network, such as PCM (Pulse Code Modulation) and vice versa. A DSP is a modified fast real-time processor for a specific signaling processing purpose.
Normally the IP stack (24) handles the task of the Network Interface layer, IP network layer and Transport layer. Because a gateway usually contains only one CPU and channels from several DSP's load it, the CPU forms a capacity bottleneck. The intention of the invention is to alleviate this drawback. This is achieved in a way described in the claims.